﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Fiche_Personnes
{
    class BaseDonnees
    {
        public BaseDonnees()
        {
            this.m_ListePersonne = new SortedSet<Personne>();
        }

        public void addPersonne(Personne p) { if(!this.m_ListePersonne.Add(p)) throw new Exception("Fail to add a new person"); }
        
        /// <summary>
        /// Récuperation d'une personne à partir de son nom
        /// </summary>
        /// <param name="nom">nom de la personne  ( nom + prenom )</param>
        /// <returns>Retourne la premiere personne correspondante, ou null</returns>
        public Personne getPersonne(string nom)
        {
            foreach(Personne p in this.m_ListePersonne) if(p.Nom.ToLower().Contains(nom.ToLower())) return p;
            return null;
        }

        /// <summary>
        /// Récuperation d'une personne à partir de son nom et de son prénom
        /// </summary>
        /// <param name="nom"></param>
        /// <param name="prenom"></param>
        /// <returns>Retourne la premiere personne correspondante, ou null</returns>
        public Personne getPersonne(string nom, string prenom)
        { return this.getPersonne(nom.ToUpper() + " " + prenom); }

        private SortedSet<Personne> m_ListePersonne;
            public List<Personne> Personnes { get { return this.m_ListePersonne.ToList<Personne>(); } }
    }
}
